package com.wisdytech.linkdcs.tool.service;

import com.github.pagehelper.PageInfo;
import com.wisdytech.common.bean.Filter;
import com.wisdytech.linkdcs.equipment.model.CollectionParam;
import com.wisdytech.linkdcs.equipment.model.Equipment;
import com.wisdytech.linkdcs.system.model.SysUser;
import com.wisdytech.linkdcs.tool.model.EqToolConfig;
import com.wisdytech.linkdcs.tool.vo.ToolConfigVO;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zhanghailin
 * @since 2018-06-07
 */
public interface IEqToolConfigService{

    List<Equipment> getEquipMentByEqCode(String equipCode);

    /**
     * 根据设备编码 获取该设备的型号下的工装(select 使用)
     * @param equipCode 设备编码
     * @return list
     */
    List<ToolConfigVO> getToolListByEquipCode(String equipCode);


    PageInfo<EqToolConfig> getEqToolListByFilter(String equipCode, Filter filter);

    /**
     * 新增设备工装配置信息
     * @param eqToolConfig 实体类
     * @param operator 操作人
     * @return 操作结果
     */
    Boolean saveEqToolConfig(EqToolConfig eqToolConfig, SysUser operator);

    /**
     * 校验工装状态是否可用
     * @param toolCode 工装编码
     * @return 结果
     */
    Boolean checkToolStatus(String toolCode);

    /**
     * 更换工装
     * @param eqToolConfig 实体类
     * @param operator 操作人
     * @return 操作结果
     */
    Boolean replaceTool(EqToolConfig eqToolConfig, SysUser operator);

	List<EqToolConfig> getToolConfigByToolCode(String equipCode, Filter filter, String toolCode);

	List<ToolConfigVO> getToolListBytoolCode(String equipCode, String toolCode);

	void replaceToolTemp(EqToolConfig eqToolConfig, SysUser user, String equipId);

    /**
     * 根据设备编码查询所有的采集参数
     * @param equipCode 设备编码
     * @param search 查询条件
     * @return 采集参数集合
     */
	List<CollectionParam> findCollectionParamByEquipCode(String equipCode,String search);

    EqToolConfig getoToolBytoolCode(String equipCode, String toolCode);
}
